A user accessing a shared database, such as a database used for testing website applications or customer management systems, may interfere with other users of the shared database by updating records currently being accessed by the other users. Some testing applications assume that that “Collisions” between users of a large database are rare based on the sheer number of records in the database as compared with the number of user. However, in cases when collisions occur, users are forced to manually coordinate data usage such that random selections of data do not negatively impact each of the users. This situation often results in over-provisioning of data in test systems, and lost productivity when collisions occur.
Other data managements systems segment test data into separate isolated databases for each user or group of users accessing the test data. However, such isolated systems are complicated to setup and maintain and may require expensive infrastructure. Moreover, new databases must be frequently created or modified for new users or current users with new testing applications, thus, such an isolated database management system does not provide a flexible testing environment.